#ifndef _SCENEMANAGER_H_
#define  _SCENEMANAGER_H_

#include "Scene.h"
#include "GamePlayScene.h"
#include "MenuScene.h"
#include "PauseScene.h"
#include "LoadingScene.h"

#define MAX_GAME_SCENE 100

using namespace std;

class SceneManager
{
private:
	static SceneManager* _instance;
	/*int _topStack;*/
	/*Scene* _sceneStack[MAX_GAME_SCENE];*/
	list<Scene*> _sceneList;

	SceneManager();
	

public:
	
	static SceneManager* GetInstance();
	~SceneManager();
	void PushScene(Scene* newScene);
	void PopScene();
	void ClearSceneStack();
	void GoToFirst();
	void Update(float DeltaTime);
	void Render();
	Scene* GetCurrentScene();
};

#endif